home *** CD-ROM | disk | FTP | other *** search
- /*
- * History:
- *
- * 90/12/16 1.0 rosenkra - initial release (posted to c.s.atari.st)
- *
- * 91/1/7 1.1 rosenkra - change -i to -r
- * - change -q to -i
- * - started to add -q (quantize), not complete
- * - fix bug with zero'ed accumulation arrays
- * which was being done with every call to
- * rasterize
- * - add histogram for each rgb value (eliminate
- * the "intensity order" histogram, too)
- * - make UseNTSC global
- * - fix scan_CM (bug in gemlib read)
- * - make default -s of 40
- * - histogram now impacted by -N (NTSC)
- * - add -f option
- * 91/2/25 1.2 rosenkra - add -b option
- * - -i does not print color map. use -i -i
- * 91/6/3 3.0 rosenkra - major rewrite using "flicker"
- * - really interactive only now
- * - ReadGIF now single entry point
- * - flicker is single entry point
- * - does lots of image processing (menu)
- * including size, blur, brighten, log scale,
- * contrast expansion, median filter
- * 91/6/3 3.2 rosenkra - add convolutions
- * - release to usenet
- * 91/6/6 3.3 rosenkra - add cut, rotate, mirror
- * - add flicker file write (*.fl)
- * 91/6/9 3.4 rosenkra - fix some bugs in file write, median, log
- * scale, etc
- * - enlarge/shrink by direction
- * - cut can work beyond screen size
- * - add support for .pi1 and .pi2 files
- * 91/6/13 3.5 rosenkra - point coord selection by crosshairs
- * - add zoom (2x)
- * - add histogram on screen in flicker screen
- * - add copy orig<-->new
- *
- ****
- **** Development continued by Johan Klockars (d8klojo@dtek.chalmers.se)
- ****
- * 92/11/09 4.0 Klockars - support for GCC, Lattice C and Turbo C added
- * - changed to dynamic memory allocation
- * - less memory used now
- * - fixed and enhanced clipping
- * - improved speed in cmaptoint
- * - file loading speeded up (especially floppy)
- * 92/12/14 4.1 Klockars - added quick preview using half tone matrix
- * - cleaned up code to eliminate warnings
- * - zoom function fixed
- * - removed slow flickering
- * - some improvements in the flicker routines
- * - no assembly linea functions anymore
- * - memory problem from v4.0 fixed
- * - pipe operation support begun (MiNT)
- * - JPEG support by Frank Möhle added
- * - mgif.c split into three files (command, info)
- * - convolution works now (it never did before)
- * - command.c rewritten for array of rasters
- * - some rewrites to use memset and memcpy
- * - improved information screen (what)
- * - speedups in histogram code
- * - NTSC colour conversion is now default
- * - command line switches for buffer size added
- * 93/05/14 4.2 Klockars - GIF89 support added using code by Howard Chu
- * - lots of rewrites to use movemem for speed
- * - vertical and horizontal shearing added
- * - vertical and horizontal scaleing added
- * - rotation to any angle added
- * - support for overscan etc by Howard Chu
- * - changes to make windowed use possible
- * - now works in any (?) bit plane mode
- * - no wait for key on start up default
- * - flag for wait on key on start up added
- * - .fl format handles aspect ratios 1:1, 2:1
- * - don't allocate any buffers when inquire
- * - permit wildcards for files (not .fl)
- * - terrible bug in PI1 read code fixed
- * - rewrite of PI? code for enhanced speed
- * - correct colour setting in Falcon modes
- * - quick view in the Falcon true colour mode
- * - upgraded to JPEG code v 4a
- * - first attempt at Falcon true colour dither
- * - improved and centralized key handling
- * - use only one screen when in true colour
- * - changed stderr to stdout in most places
- * - dithering improved by table lookup
- * - improved cross hair implementation
- * 93/07/07 4.3 Klockars - GIF decoding speeded up very much
- * - more speedup due to better interlace handling
- * - drawing speedup by doing F-S line by line
- * - TARGA/PPM read supported
- * - NonTC greyscale support added with switch
- * - Hold at end switch added
- * - tell memory handler when raster[1] is freed
- * - improved memory allocation error handling
- * - changed help screen
- * - gif loader now closes files correctly
- * - name and version info moved to global.c
- * - IJG gif loader used when small new image
- * - better i/o handling in command.c
- * - better checks for image size in process.c
- * - colour support for jpeg:s added
- * - source/destination instead of original/new
- * - support for more than two image buffers added
- * - general colour support started
- * - better handling of differently sized buffers
- * - mapped and direct colour in true colour mode
- * - slide show option added
- * - 24 bit jpeg, targa and ppm read
- * - demap of gifs added
- * - lots of changes in command.c and process.c
- * - several files split
- * - repeat and test commands added
- * - tempfile bug fixed
- * - fast gif loading even with small second buffer
- * - better buffer size defaults
- * - RGB mode for operations
- * - colour dithering in true colour mode
- * - TT support added
- * - non-malloc jmemtos to remove reallocation errors
- * - colour dithering in 16/256 colour using IJG code
- * - ST colour support added
- * - changes to use buffer struct
- * - changes to use options struct
- * - Lattice C and Turbo C fixes
- * 93/09/21 4.4 Klockars - GEM interface added
- * - lots of changes to incorporate GUI
- * - lots of fixes and improvements to GUI
- * - lots of file splits and new files
- * - separate check and allocate screen
- * - destination buffer save/load added
- * - GIF, PPM and targa save added
- * - made start with no args equivalent to -gem
- * - fast assembly 8 bit chunky to planar conversion
- * - progress window for write, jpeg read and quantize
- * - relative positions for cut etc
- * - even faster chunky to planar
- * - some small fixes in display code
- * - buffers in alternate ram if single screen
- * - assembly optimizations for '030 GIF decode
- * - assembly optimizations for normal GIF decode
- * - total rewrite of menu handling code
- * - centering of images added
- * - skipping of conversion to grey added
- * - colour dither in 16/256 colours added
- * - all dither matrices read from file
- * - optimized assembly code for 256 colour dither
- * - small bug fix in chunky to planar routine
- * - test buffer creation from menu added
- * - menu option for ordered dither
- * - probably fixed odd address buffer problem
- * - switches from command line and/or file
- * - fixes in draw select logic
- * - switches from environment and program file
- * - menu option for display after load
- * - show and flicker draw fixes
- * - support for GEMView dither matrices
- * - oil paint effect from xv added
- * - rewrites in command parsing code
- * - assembly for 16 colour 24 bit with and w/o dither
- * - bias added to convolutions for emboss etc
- * - clip (0-255) disable added for convolutions
- * - a few bugs in the convolution dialog fixed
- * - smarter progress report window update
- * - even more optimization of GIF decode
- * - assembly for 16 colour mapped display with dither
- * - selectable number of colours for quantize
- * - assembly greyscale drawing
- * - mouse controlled zoom/cut
- * - improved support for alternate RAM
- * - use quick chunky to planar when FS-dithering
- * - assembly FS-dither
- * - assembly chunky to single plane
- * - flicker draw speeded up
- * - some bug fixes in load/save code
- * - lmin/lmax added
- * - image subtract added
- * - loading of AIM .IM files supported
- * - lots of GUI changes
- * - popup menu functionality added
- * - two times median filter speed up
- * - GUI fixes and updates
- * - popups implemented as dialog class
- * - general keyboard short-cuts added
- * - save dialog popup actually used
- * - new graphics mode representation
- * - zoom/cut select code cleaned up
- * - zoom/cut scroll around added
- * - old bug in monochrome ordered dither fixed
- * - many more old bugs fixed
- * - wildcard .FL load added
- * - file load on startup for GEM version added
- * - some new switches added
- * - improved checks for alternate memory
- * - totally mouse controlled zoom/cut
- * - click continue/end for .FL show added
- * - .FL load from GUI implemented
- * - convolution dialog behaves correctly again
- * - support for self-loading .FL files added
- * - IMG load added
- * - some option dialog changes
- * - scrollable normal view added
- * - a number of small bugs fixed
- * - switch for fit to screen on load added
- * - various new switches added
- * - a couple of simple new dialogs used
- * - switches etc for aspect correction
- * - more error alert boxes
- * - faster greyscale loading of Targa and PPM
- * - better handling of startup memory allocation
- * - write IMG added
- * - use free space in buffers instead of malloc
- * - minor memory leakages patched up
- * - switch for debugging added
- * - full dialog functionality for IMG save
- * - F-S dithering for IMG save added
- * - some minor bug fixes
- * - some VDI support for 256 colours implemented
- * - memory alignment problems on draw fixed
- * - border function added
- * - extended commands for text interface
- * - general image combine function added
- * - support for UNDO added
- * - time delay for slide show added
- * - switch for TT grey mode added
- * - various improvements
- * - image type change added
- * - local colour maps
- * - better handling of image types when processing
- * - real logarithms for log scale
- * - all point operations done by redistribution
- * MGIF 5.00 is now the official name, this is after all a _major_ update
- * - more drawing types stoppable
- * - a couple of more switches
- * - full VDI draw support for 8 bit modes
- * - default setting in program file implemented
- * - improved coordinate showing for cut/zoom
- * - a little MultiAES awareness added
- * - smarter buffer handling for GIF load
- * - in place (but slower) deinterlace
- * - switch for GIF decoder select added
- * - pixelize function added
- * - startup dialog improved
- * - switch for busy bee added
- * - screen size on load for non-GUI mode
- * - load control code cleaned up a bit
- * - some slide-show cleanups
- * - slide-show loop, random and script file added
- * - (X)IMG load bugs for < '020 fixed
- * - switch for stable flicker under MiNT added
- * - various crash problems eliminated
- * - save from destination now possible
- * - smarter buffer handling for image loading
- * - JPEGD use for non-mapped (not distributed)
- * - more user defined for border, blur and oil
- * - various bug fixes
- * - various minor improvements
- *
- * 95/12/21 MGIF 5.00 finally released!
- */
-
- MGIF v5.01 (released 960312)
- ----------------------------
- 960208 - A DSP routine capable of both convolutions and median
- filtering (3x3 squares) was added.
- Speedup of about ten and five times respectively!
-
- 960312 - Some minor fixes regarding mouse and text cursor visibility.
- The DSP code loader now behaves better.
-
- MGIF v5.10
- ----------
- 960408 - Smooth downscaling (weighted averaging) implemented.
- Reasonably fast and with very good results.
- MGIF now checks for 16 colour palettes when drawing in colour.
- No more ordered dither when it isn't necessary.
- Bug in quantize setup fixed.
-
- 960601 - The new scale dialog finally implemented.
- No longer any need for the halve/double functions.
- Option to draw automatically after image processing added.
- A few minor bugs fixed.
-
- 960602 - Smooth upscaling (linear interpolation) added.
- As nice and quick as the downscaling.
-
- 960604 - Smooth rotation added (more fixed point interpolation...).
- Really nice looking and quite fast.
- Gamma correction finally added.
- Strange that only one person ever requested this...
-
- 960609 - Some (all?)problems with the smooth rotation fixed.
- Loosened up the restrictions regarding rotation.
- It's now possible to rotate up to 45 degrees in place.
- Slightly better handling of error reports under the GUI.
- Three component (RGB) operation improved.
- Zoom, scale, rotate (<=45) etc now works fine in RGB mode.
- Extra startup alert for beta releases added.
-
- 960623 - The fastest (AFAIK) Atari GIF decoder is now even faster!
- From 10% to 300% faster on my tests, depending on the image.
- Highest speedup is for images with large single colour areas.
- JPEGD support is now enabled (I've talked to Brainstorm people).
- This has not been extensively tested, but seems to work fine.
- Finally _really_ fast JPEG unpacking on ordinary Falcons.
-
- 960626 - Image tileing added.
- An image is replicated to fill up a larger rectangle.
- Image tileize added.
- Creates a perfect (edges match) tile by mirroring.
- Some bugs fixed.
-
- 960706 - Cursor coordinate showing for cut/zoom in GUI mode improved.
- Alternate now toggles the coordinates on and off.
-
- 960710 - All graf_mkstate() calls have been replaced by evnt_multi().
- Hopefully, this will fix the problems with Warp9.
- It also means that MGIF will never busy wait for the mouse.
- Whenever MGIF checks for a mouse click, a keypress is also OK.
- Cursor keys (and some other) can now be used for cut/zoom.
- These were easy to add when using evnt_multi().
-
- 960713 - A couple of bugs concerning buffer allocation found and fixed.
- There should no longer be any danger using -p0 and -p1.
- A small bug in the JPEGD interface routines fixed.
- Only a third of the space is now needed to load in grey mode.
- Slightly better error handling for the JPEGD interface.
- The slow decoder does not have to be run as well on error.
-
- 960722 - The MGIF sources are now subject to the GNU GPL.
- Any and all GPL sources can now be used freely in MGIF!
- MGIF source distribution now follows slightly different rules.
- F. M. Quintero's GIMP bump map plugin has been 'MGIFified'.
- This is the first addition made possible by the GPL status.
- Really marvelous 3D effects are possible with this!
- A primitive text command (extended commands) dialog was added.
- Mostly for testing stuff which hasn't got a dialog yet.
-
- 960723 - Convolution filter support enhanced to handle 5x5 kernels.
- Useful somtimes, but takes about three times as long as 3x3.
- Using the Falcon DSP, the difference is only about 1.5 times.
- Convolution kernels can now be loaded from files.
- No need to type in specialized kernels every time.
-
- 960726 - Horizontal and vertical blur added.
- If nothing else, it can be used to create nice effects.
- Pixel spread added.
- Randomly displaces all pixels by a specified amount.
- Variable pixel noise added.
- Binary and additive noise can be applied to an image.
- Only a specified percentage of the pixels are changed.
-
- 960805 - Some new dialogs and menu items added.
- The new processing functions are now easily accessible.
- A bug in the 'Oil paint' function was fixed.
- It's now possible to use more than 64 'buckets'.
-
- 960806 - A way around the Warp9 bug (mouse 'crash') is now available.
- The -wrp switch will turn off all uses of appl_tplay().
-
-